home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / BBS-Archive / Util / Time / mbwatch.lha / mbwatch / support / OnlineWatch-2
Text File  |  1995-05-26  |  3KB  |  116 lines

  1. ; (C) by Dirk M. Oppelt
  2.  
  3. rx "options results; ADDRESS MBWATCH.01; gettime; say result" >ENV:Time  ;Online-Zeit holen
  4. rx "ADDRESS MBWATCH.01; QUIT"
  5.  
  6. echo $Time first 1 len 2 >ENV:Std        ;Stunden
  7. if $Std not gt 9 val
  8.   echo $Std first 2 to ENV:Std           ;führende 0 weg
  9. endif
  10.  
  11. echo $Time first 4 len 2 >ENV:Min        ;Minuten
  12. if $Min not gt 9 val
  13.   echo $Min first 2 to ENV:Min           ;führende 0 weg
  14. endif
  15.  
  16. echo $Time first 7 len 2 >ENV:Sec        ;Sekunden
  17.  
  18. eval $Std * 60 to ENV:Min1               ;Stunden in Minuten wandeln
  19. eval $Min + $Min1 to ENV:AllMin
  20. if $Sec not eq 00
  21.   eval $AllMin + 1 to ENV:AllMin         ;wenn Sekunden, dann neue Min angefangen
  22. endif
  23.  
  24. rx "say Date('w')" >ENV:Tag              ;
  25. rx "say Time('h')" >ENV:Zeit             ;fuer Tarifberechnung
  26.  
  27. echo 6 >ENV:Takt                         ;Normaltakt
  28. echo 0 >ENV:WEnde                        ;Wochenendschalter
  29. echo 0 >ENV:Nacht                        ;Nachtschalter
  30.  
  31. if $Tag eq Sunday
  32.   echo 12 >ENV:Takt                      ;12 Minuten-Takt ein
  33.   echo 1 >ENV:WEnde                      ;(Wochenende)
  34. endif
  35. if $Tag eq Saturday
  36.   echo 12 >ENV:Takt
  37.   echo 1 >ENV:WEnde
  38. endif
  39. if $Zeit gt 18 val
  40.   echo 12 >ENV:Takt                      ;12 Minuten-Takt ein
  41.   echo 1 >ENV:Nacht                      ;(18-8 Uhr)
  42. endif
  43. if $Zeit not gt 8 val
  44.   echo 12 >ENV:Takt
  45.   echo 1 >ENV:Nacht
  46. endif
  47.  
  48. eval $AllMin / $Takt to ENV:Einh         ;Einheiten aus Zeit/Takt
  49. eval $AllMin mod $Takt to ENV:Mod
  50. if $Mod gt 0 val                         ;Noch eine Einheit angefangen?
  51.   eval $Einh + 1 to ENV:Einh
  52. endif
  53.  
  54. eval $Einh * 23 to ENV:Geb               ;Gebuehren
  55. eval $Geb / 100 to ENV:DM
  56. eval $Geb mod 100 to ENV:Pf
  57. eval $Pf + 100 to ENV:Pf                 ;Führende 0 bei Pf erzeugen
  58. echo $Pf first 2 to ENV:Pf
  59.  
  60. rx "say Date('m')" >ENV:Mon              ;Monatsgebühren unter S:Gebühren/Monat speichern
  61. if not exists S:Gebühren
  62.   makedir S:Gebühren
  63. endif
  64. echo S:Gebühren/$Mon >ENV:MonDatei
  65. if not exists $MonDatei                  ;neuer Monat -> neue Datei
  66.   echo >$MonDatei
  67. endif
  68. type $MonDatei to ENV:AltGeb             ;bisherige Monatsgebühren holen
  69. eval $AltGeb + $Geb to ENV:MonGeb
  70. copy ENV:MonGeb $MonDatei
  71. eval $MonGeb / 100 to ENV:MonDM
  72. eval $MonGeb mod 100 to ENV:MonPf
  73. eval $MonPf + 100 to ENV:MonPf           ;Führende 0 bei Pf erzeugen
  74. echo $MonPf first 2 to ENV:MonPf
  75.  
  76. echo "$USER, du warst schon wieder"      ;Ausgabe
  77. if $Std eq 1 val
  78.   echo "1 Stunde und " noline
  79. endif
  80. if $Std gt 1 val
  81.   echo "$Std Stunden und " noline
  82. endif
  83. if $Min eq 1 val
  84.   echo "1 Minute online!"
  85. endif
  86. if $Min gt 1 val
  87.  echo "$Min Minuten online!"
  88. endif
  89. if $Einh eq 1 val
  90.   echo "Das ist 1 Einheit" noline
  91. else
  92.   echo "Das sind $Einh Einheiten" noline
  93. endif
  94. echo " (á $Takt Minuten)"
  95. echo "und somit $DM,$Pf DM Gebühren."
  96. echo "(" noline
  97. if $WEnde eq 1
  98.   echo "Wochenendtarif" noline
  99. else
  100.   if $Nacht eq 1
  101.     echo "Nachttarif" noline
  102.   else
  103.     echo "Normaltarif" noline
  104.   endif
  105. endif
  106. echo ")"
  107. echo "Die Gebühren für diesen Monat"
  108. echo "betragen nun bereits $MonDM,$MonPf DM."
  109.  
  110. delete >NIL: ENV:Time ENV:Std ENV:Min ENV:Sec ENV:Min1 ENV:AllMin ENV:Tag ENV:Zeit
  111. delete >NIL: ENV:Takt ENV:WEnde ENV:Nacht ENV:Einh ENV:Mod ENV:Geb ENV:DM ENV:Pf
  112. delete >NIL: ENV:Mon ENV:MonDatei ENV:AltGeb ENV:MonGeb ENV:MonDM ENV:MonPf
  113.  
  114. wait 10
  115. endcli
  116.